home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / ien / ien-188 < prev    next >
Text File  |  1988-12-01  |  62KB  |  2,031 lines

  1.  
  2.                                                           IEN 188
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                      ISSUES IN INTERNETTING
  22.  
  23.                        PART 3:  ADDRESSING
  24.  
  25.  
  26.                           Eric C. Rosen
  27.  
  28.  
  29.                   Bolt Beranek and Newman Inc.
  30.  
  31.  
  32.                             June 1981
  33.  
  34. IEN 188                              Bolt Beranek and Newman Inc.
  35.                                                     Eric C. Rosen
  36.  
  37.  
  38.                      ISSUES IN INTERNETTING
  39.  
  40.                        PART 3:  ADDRESSING
  41.  
  42.  
  43. 3.  Addressing
  44.  
  45.  
  46.      This is the third in a series of  papers  that  discuss  the
  47.  
  48. issues  involved in the design of an internet.  The initial paper
  49.  
  50. was IEN 184, familiarity with which is presupposed.
  51.  
  52.  
  53.      In this paper, we will deal  with  two  basic  issues.   The
  54.  
  55. first  has  to  do  with  the  Network  Access  Protocol.   It is
  56.  
  57. concerned with the sort of addressing information which a  source
  58.  
  59. Host  has  to  supply,  along  with  its data, to a source Switch
  60.  
  61. (gateway, in the Catenet context), in order to enable the  Switch
  62.  
  63. to  get  the  data delivered to the proper destination Host.  The
  64.  
  65. second issue has to do with the  question  of  how  the  Switches
  66.  
  67. (both  source  Switch  and  the  intermediate  Switches)  are  to
  68.  
  69. interpret and act upon the addressing information supplied by the
  70.  
  71. source  Host.   We  begin  by  stating  generally  the  sort   of
  72.  
  73. addressing  scheme  we  envision (which is by no means original),
  74.  
  75. and by comparing it to the  very  different  sort  of  addressing
  76.  
  77. currently  in  use  in the Catenet.  Next we will discuss some of
  78.  
  79. the issues and details that arise in considering how to make such
  80.  
  81. a scheme work reliably.  We will then show how this scheme  lends
  82.  
  83. itself  quite naturally to the solution of certain problems which
  84.  
  85. are very difficult to handle in the current Catenet architecture.
  86.  
  87. Although addressing and routing are rather intimately  bound  up,
  88.  
  89.                               - 1 -
  90.  
  91. IEN 188                              Bolt Beranek and Newman Inc.
  92.                                                     Eric C. Rosen
  93.  
  94.  
  95. we  will  avoid  routing  considerations  here whenever possible.
  96.  
  97. Routing in the internet will be the topic of a longer paper which
  98.  
  99. will be the next to appear in this series.
  100.  
  101.  
  102. 3.1  Logical Addressing / Flat Addressing
  103.  
  104.  
  105.      For maximum  flexibility  and  robustness  of  operation,  a
  106.  
  107. source  Host should be able to simply "name" the destination Host
  108.  
  109. it wants to reach, where a "name" is just an arbitrary identifier
  110.  
  111. for a Host.  That is, the source Host should  not  need  to  know
  112.  
  113. anything about the physical location of the destination Host, NOT
  114.  
  115. EVEN  WHAT NETWORK IT IS ON.  In other words, the internet should
  116.  
  117. have logical addressing.  The advantages  of  logical  addressing
  118.  
  119. are  thoroughly  discussed  in IEN 183, and that discussion shall
  120.  
  121. not be repeated here.  IEN  183  presents  a  logical  addressing
  122.  
  123. scheme  which  was  designed  with the ARPANET in mind.  However,
  124.  
  125. since we  regard  the  internet  as  a  Network  Structure  whose
  126.  
  127. Switches  are  gateways and whose Hosts are generally multi-homed
  128.  
  129. to the gateways, most of the ideas presented in IEN  183  can  be
  130.  
  131. carried  over  directly to the internet environment.  The present
  132.  
  133. IEN will emphasize those aspects of the logical addressing scheme
  134.  
  135. which are specific to the internet environment, but the  proposed
  136.  
  137. scheme  is  basically  the  same as the one discussed in IEN 183.
  138.  
  139. Anyone with a real interest in these issues will want  to  become
  140.  
  141. familiar with that document.
  142.  
  143.  
  144.  
  145.  
  146.                               - 2 -
  147.  
  148. IEN 188                              Bolt Beranek and Newman Inc.
  149.                                                     Eric C. Rosen
  150.  
  151.  
  152.      The  basic  idea of logical addressing is that a source Host
  153.  
  154. should name the destination Host, and  the  Switches  should  map
  155.  
  156. that  name  into a physical address that is meaningful within the
  157.  
  158. Network Structure of the Switches.  The mapping between names and
  159.  
  160. (physical) addresses will, in general, be  many-many.   That  is,
  161.  
  162. one  name  may refer indeterminately to several distinct physical
  163.  
  164. addresses,  either  because  some   one   physical   machine   is
  165.  
  166. multi-homed,  or  because the user does not care which of several
  167.  
  168. physical machines he reaches.  Similarly,  one  physical  machine
  169.  
  170. may  have  several names, which may either be synonyms, or may be
  171.  
  172. used for further multiplexing within the destination Host.  (This
  173.  
  174. may be particularly important when  a  Host  within  one  Network
  175.  
  176. Structure  is  really  a  Switch,  e.g., a port expander or local
  177.  
  178. network, within another.)
  179.  
  180.  
  181.      Logical addressing tends to  result  in  a  flat  addressing
  182.  
  183. space,  rather than a hierarchical one.  This may seem surprising
  184.  
  185. in  the  context  of  the  internet,  since  an  internet  is   a
  186.  
  187. hierarchical  structure, and internet routing is almost certainly
  188.  
  189. going to be some  form  of  hierarchical  routing.   However,  it
  190.  
  191. simply  does  not  follow  that  the addressing space used in the
  192.  
  193. internet  Network  Access  Protocol  must   be   a   hierarchical
  194.  
  195. addressing  space.   In  fact,  since  the form of the addressing
  196.  
  197. space has an effect on the Network Access Protocol, and hence  on
  198.  
  199. Host-level  software,  whereas  the routing algorithm is a purely
  200.  
  201. internal  matter  to  the  Network  Structure,  proper   protocol
  202.  
  203.                               - 3 -
  204.  
  205. IEN 188                              Bolt Beranek and Newman Inc.
  206.                                                     Eric C. Rosen
  207.  
  208.  
  209. layering  would  seem  to require that the form of the addressing
  210.  
  211. and the form of the routing be independent.  We would like to  be
  212.  
  213. able  to  change  the  internal  routing algorithm of the Network
  214.  
  215. Structure  without  requiring  corresponding  changes   in   Host
  216.  
  217. software, i.e., without changing the form of the addressing.
  218.  
  219.  
  220.      What  we  are  proposing  is  quite  different  from the way
  221.  
  222. addressing  is  done  in  the  current  Catenet  Network   Access
  223.  
  224. Protocol,  IP.  IP uses both physical addressing and hierarchical
  225.  
  226. addressing.  (Note that physical addressing within a hierarchical
  227.  
  228. Network  Structure  will   almost   certainly   be   hierarchical
  229.  
  230. addressing,   whereas  logical  addressing  allows  the  internal
  231.  
  232. structure of the Network Structure to be better hidden  from  the
  233.  
  234. users.  This is one of its main advantages.)  The first component
  235.  
  236. of the address is a network number, and the second component is a
  237.  
  238. physical address which is meaningful within that network.  In IEN
  239.  
  240. 183,  we  discuss  a  number  of  reasons  for the superiority of
  241.  
  242. logical  over  physical  addressing.   Other  criticisms  of  the
  243.  
  244. Catenet's  current  addressing  scheme  have been voiced by other
  245.  
  246. authors.  For example, the way in which  hierarchical  addressing
  247.  
  248. is  incorporated  into Catenet addressing mechanisms has recently
  249.  
  250. come under criticism in IEN 177 by Danny Cohen, who  focuses  his
  251.  
  252. criticism  on  the  particular  case  of  the  ARPANET.  His main
  253.  
  254. criticism is that it does not allow enough  hierarchical  levels.
  255.  
  256. That  is, with the presence of local nets or port expanders which
  257.  
  258. appear to the ARPANET as Hosts, there is really another level  of
  259.  
  260.                               - 4 -
  261.  
  262. IEN 188                              Bolt Beranek and Newman Inc.
  263.                                                     Eric C. Rosen
  264.  
  265.  
  266. hierarchy  after  the  ARPANET.   He  suggests,  therefore,  that
  267.  
  268. ARPANET  addressing  (1822-level)  be  changed  to  provide  this
  269.  
  270. additional  hierarchical  level,  and that end-users (or at least
  271.  
  272. Host software modules) fill in this additional level.
  273.  
  274.  
  275.      It is not obvious, though, that a single additional level of
  276.  
  277. addressing will do for all applications.  If we are sending  data
  278.  
  279. not  just to a local net, but to an internet of local nets, maybe
  280.  
  281. several additional levels of hierarchy are needed.  We  may  also
  282.  
  283. need  more  hierarchy  on  the  "front  end"  of  the address.  A
  284.  
  285. protocol which begins the internet address with a field which  is
  286.  
  287. supposed  to  identify the destination network (e.g., IP) assumes
  288.  
  289. that there is no need to establish a hierarchy among the networks
  290.  
  291. themselves.  (This is equivalent to assuming  that  all  Switches
  292.  
  293. can  "know about" all networks.)  As long as we have only a small
  294.  
  295. number of networks, it may be reasonable enough  to  assume  that
  296.  
  297. destination    network   addresses   need   not   themselves   be
  298.  
  299. hierarchical.  However, it is not difficult  to  imagine  a  very
  300.  
  301. large  internet  composed  of thousands of networks, where before
  302.  
  303. specifying a network, we must first specify,  say,  a  continent.
  304.  
  305. So  maybe  our  protocol  for  hierarchical  addressing  needs  a
  306.  
  307. "continent address" field before the network address  field.   It
  308.  
  309. begins  to  look  as  if  the  addressing  structure  needs to be
  310.  
  311. INFINITELY EXTENSIBLE in both directions.  In fact,  in  IEN  179
  312.  
  313. Cohen proposes a scheme which seems intended to provide this sort
  314.  
  315. of   infinite  extensibility.   That  seems  both  an  inevitable
  316.  
  317.                               - 5 -
  318.  
  319. IEN 188                              Bolt Beranek and Newman Inc.
  320.                                                     Eric C. Rosen
  321.  
  322.  
  323. consequence  of  hierarchical  addressing,  and  a  reductio   ad
  324.  
  325. absurdum of it.
  326.  
  327.  
  328.      It  is  also  worth  noting that a given number of Hosts can
  329.  
  330. generally be addressed with  fewer  bits  in  a  flat  addressing
  331.  
  332. scheme  than in a hierarchical addressing scheme.  Given, say, 32
  333.  
  334. bits of addressing, flat addressing can  represent  2**32  Hosts.
  335.  
  336. However,  if  these  32  bits  are broken into four 8-bit fields,
  337.  
  338. hierarchically, fewer Hosts can be represented, since in general,
  339.  
  340. not every one of the four fields will actually take on  the  full
  341.  
  342. 256  values.   Inevitably, one finds that at least one field must
  343.  
  344. take on 257 values, while at least one other turns out to have  a
  345.  
  346. smaller  number  of  values than expected.  This tends to lead to
  347.  
  348. the feeling that the address field needs "just one more level" of
  349.  
  350. hierarchy.  It also tends to lead to  the  use  of  funny  escape
  351.  
  352. values and multiplexing protocols so that different fields can be
  353.  
  354. divided up in different ways by different applications.  The same
  355.  
  356. problems  usually  reappear, however, in a few years, as the need
  357.  
  358. for "just one more level"  is  proclaimed  yet  again.   Yet  the
  359.  
  360. alternative  of making the address fields arbitrarily long, hence
  361.  
  362. infinitely  extensible,  is  rather  infeasible,   if   bandwidth
  363.  
  364. considerations are taken into account.
  365.  
  366.  
  367.      The  need  for  infinite extensibility at the Host interface
  368.  
  369. can be avoided by using logical addressing (although this is only
  370.  
  371. one of its many advantages).  We can then identify a single  Host
  372.  
  373.  
  374.                               - 6 -
  375.  
  376. IEN 188                              Bolt Beranek and Newman Inc.
  377.                                                     Eric C. Rosen
  378.  
  379.  
  380. by   using   a  single,  structure-less,  unique  name  which  is
  381.  
  382. meaningful at each level of internet  hierarchy.   That  is,  the
  383.  
  384. Switches  at  each  level  of  the  hierarchy  would  be  able to
  385.  
  386. recognize the name, and to map it into a physical address that is
  387.  
  388. meaningful at that level of hierarchy.  Neither the end-user  nor
  389.  
  390. the source Host would be responsible for determining the physical
  391.  
  392. addresses  at each level of a never-ending hierarchy.  Of course,
  393.  
  394. neither these arguments, nor those of IEN 183, can be regarded as
  395.  
  396. finally  settling  the  "flat  vs.   hierarchical"   issue.    In
  397.  
  398. networking,  no  one  issue can ever be settled in isolation, and
  399.  
  400. attempts to  do  so  result  only  in  endless  and  unproductive
  401.  
  402. arguments.   A network (or internet) is a whole whose performance
  403.  
  404. and functionality result from the combination of  its  protocols,
  405.  
  406. addressing  schemes,  routing  algorithm,  hardware  and software
  407.  
  408. architecture, etc.  Particular addressing  schemes  can  only  be
  409.  
  410. judged  when  it  is  seen  how they actually fit into particular
  411.  
  412. designs.  The  only  real  argument  in  favor  of  a  particular
  413.  
  414. addressing  scheme  is  that  it  fits  naturally  into a network
  415.  
  416. architecture  which  provides  the   needed   functionality   and
  417.  
  418. performance.   It  is hoped that the addressing scheme we propose
  419.  
  420. will be judged as part of the architecture we are  developing  in
  421.  
  422. this series of papers, rather than in isolation.
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.                               - 7 -
  432.  
  433. IEN 188                              Bolt Beranek and Newman Inc.
  434.                                                     Eric C. Rosen
  435.  
  436.  
  437. 3.2  Model of Operation:  An Overview
  438.  
  439.  
  440.      The  model  of  operation we are proposing is as follows.  A
  441.  
  442. source Host submits a packet to  a  source  Switch,  naming  (not
  443.  
  444. addressing)   the  destination  Host.   THE  SOURCE  SWITCH  THEN
  445.  
  446. TRANSLATES (OR MAPS) THAT NAME INTO  A  PHYSICAL  SWITCH  ADDRESS
  447.  
  448. WHICH  IS MEANINGFUL WITHIN ITS OWN NETWORK STRUCTURE;  THAT WILL
  449.  
  450. BE THE ADDRESS OF THE  DESTINATION  SWITCH  WITHIN  THAT  NETWORK
  451.  
  452. STRUCTURE.  The data is then routed through the Network Structure
  453.  
  454. to  the  destination  Switch  so  addressed.   The  name (logical
  455.  
  456. address) of the destination Host  is  also  carried  through  the
  457.  
  458. Network Structure along with the data and the physical address of
  459.  
  460. the destination Switch.  When the destination Switch receives the
  461.  
  462. data,  it  forwards  it to the destination Host over (one of) its
  463.  
  464. Pathway(s) to that Host.  If the Pathway is itself a  network  or
  465.  
  466. internet  configuration  with logical addressing, the name of the
  467.  
  468. destination Host is passed on via the  Pathway  Access  Protocol.
  469.  
  470. If logical addresses or names are not unique across all component
  471.  
  472. networks  of  an  internet, translation from the internet logical
  473.  
  474. address to the Pathway logical address would have to be  done  at
  475.  
  476. this  point.   If  the network or internet underlying the Pathway
  477.  
  478. does not even have logical addressing, the Host name will have to
  479.  
  480. be translated into a Pathway physical address by the  destination
  481.  
  482. Switch.
  483.  
  484.  
  485.  
  486.  
  487.  
  488.                               - 8 -
  489.  
  490. IEN 188                              Bolt Beranek and Newman Inc.
  491.                                                     Eric C. Rosen
  492.  
  493.  
  494.      Note  that,  at  any  particular  hierarchical  level (i.e.,
  495.  
  496. within  any  particular  Network  Structure),   the   ADDRESSABLE
  497.  
  498. ENTITIES  are  the  Switches  at that level (which are physically
  499.  
  500. addressed), and all the Hosts (which are logically addressed,  or
  501.  
  502. named).   Component  networks  of  the  internet  are  treated as
  503.  
  504. structure-less  Pathways,  AND  NEITHER  THE  COMPONENT  NETWORKS
  505.  
  506. THEMSELVES  NOR  THE  SWITCHES  OF  THE  COMPONENT  NETWORKS  ARE
  507.  
  508. INDEPENDENTLY ADDRESSABLE.  Furthermore, a name (logical address)
  509.  
  510. which adequately identifies the destination Host  is  present  at
  511.  
  512. each  level  of the hierarchy.  Of course, a particular name only
  513.  
  514. needs to be unique at a single level of the  internet  hierarchy,
  515.  
  516. within  a  particular Network Structure.  The names can change as
  517.  
  518. we travel up and down the hierarchy of  Network  Structures  that
  519.  
  520. make up the internet.
  521.  
  522.  
  523.  
  524. 3.3  Some Issues in Address Translation
  525.  
  526.  
  527.      In  order  to  do  the  sort  of translation from logical to
  528.  
  529. physical address that we have been discussing above, the Switches
  530.  
  531. must have translation tables.  Many of the issues involved in the
  532.  
  533. design of a robust translation table mechanism are  discussed  in
  534.  
  535. IEN  183,  and  much of that discussion applies without change to
  536.  
  537. the internet.  We will confine our discussion here, therefore, to
  538.  
  539. issues which are not considered in that note, or which  are  more
  540.  
  541. specific to the internet environment.
  542.  
  543.  
  544.  
  545.                               - 9 -
  546.  
  547. IEN 188                              Bolt Beranek and Newman Inc.
  548.                                                     Eric C. Rosen
  549.  
  550.  
  551.      The  main  problem  with  the  model  of  operation  we have
  552.  
  553. proposed  is  a  very  mundane  one,  but  unfortunately  a  very
  554.  
  555. important  one.   If  there  may  be  thousands  of  Hosts  on an
  556.  
  557. internet, each one with an unlimited number of  different  names,
  558.  
  559. and  if  a  source  Switch  must  be  able to map any name to the
  560.  
  561. address of a destination Switch, then each Switch  will  have  to
  562.  
  563. have  a  very  large  table  of  names  to drive this translation
  564.  
  565. function.  By itself, this is not much of a problem.  To be sure,
  566.  
  567. in the past,  it  has  been  considered  important  to  keep  the
  568.  
  569. gateways as small as possible.  It now seems to be more generally
  570.  
  571. accepted  that  the  current  Catenet gateways provide inadequate
  572.  
  573. performance, and that  building  a  robust  operational  internet
  574.  
  575. system  requires  us  to  build Switches that are large enough to
  576.  
  577. handle the required functionality at a reasonably high  level  of
  578.  
  579. performance.   We would expect Switches built in the future to be
  580.  
  581. much larger than the current gateways are.  However,  it  is  one
  582.  
  583. thing to require large tables, and quite another thing to require
  584.  
  585. tables  which  may grow without bound.  Since the number of Hosts
  586.  
  587. on the internet may grow without bound, it does not seem feasible
  588.  
  589. to require the Switches to have tables with one or  more  entries
  590.  
  591. for each and every Host in the internet.
  592.  
  593.  
  594.      If we cannot fit the complete set of translation tables into
  595.  
  596. each  Switch,  a natural alternative is to turn the tables into a
  597.  
  598. DISTRIBUTED DATA BASE, with each Switch having only a  subset  of
  599.  
  600. the  complete  set  of tables.  For each Switch, there would be a
  601.  
  602.                              - 10 -
  603.  
  604. IEN 188                              Bolt Beranek and Newman Inc.
  605.                                                     Eric C. Rosen
  606.  
  607.  
  608. subset of logical addresses  for  which  the  Switch  would  have
  609.  
  610. complete   physical   addressing   information.    These  logical
  611.  
  612. addresses would fall into one of two classes:
  613.  
  614.  
  615.      1) Those logical addresses which refer to  Hosts  which  are
  616.  
  617.         homed  (in  some  Network  Structure)  directly  to  that
  618.  
  619.         Switch.
  620.  
  621.  
  622.      2) Those logical addresses  which  refer  to  distant  Hosts
  623.  
  624.         which  are in FREQUENT communication with the Hosts which
  625.  
  626.         are directly homed to that Switch.
  627.  
  628.  
  629. The logical addresses in these two classes are the ones for which
  630.  
  631. the   Switch   will   be   most   often   called   upon   to   do
  632.  
  633. logical-to-physical address translation, and for best efficiency,
  634.  
  635. the  information needed to do the translation ought to be present
  636.  
  637. in the Switches.  For other logical  addresses,  which  are  less
  638.  
  639. often  seen,  all  that is needed is for the Switch to know where
  640.  
  641. the address translation information can  be  found.   Then  if  a
  642.  
  643. packet  with an infrequently-seen logical address is encountered,
  644.  
  645. it can be forwarded to a place where the  proper  information  is
  646.  
  647. known  to  reside,  or  else  the  packet  can  be held while the
  648.  
  649. information is obtained.  (We may want to have a scheme which  is
  650.  
  651. a  hybrid  of  these two alternatives.  For example, packets with
  652.  
  653. logical addresses that are not contained in the  resident  tables
  654.  
  655. can be forwarded to a place with more addressing information, and
  656.  
  657. this  can  in  turn cause the needed addressing information to be
  658.  
  659.                              - 11 -
  660.  
  661. IEN 188                              Bolt Beranek and Newman Inc.
  662.                                                     Eric C. Rosen
  663.  
  664.  
  665. sent back to the source Switch, so that additional  packets  with
  666.  
  667. the  same  address  can be handled directly by the source Switch.
  668.  
  669. That is, the source Switch might maintain,  in  addition  to  its
  670.  
  671. permanently  resident tables, a cache of the most recently needed
  672.  
  673. addressing information.)
  674.  
  675.  
  676.      It is important to note that the two classes  defined  above
  677.  
  678. may  vary  dynamically,  and we may want a procedure for altering
  679.  
  680. the members of those classes in some  specific  Switch  depending
  681.  
  682. upon the traffic that the Switch is actually seeing in real time.
  683.  
  684.  
  685.      Unfortunately,  any  such  scheme  would seem to require the
  686.  
  687. inclusion of at least one additional level of  hierarchy  in  the
  688.  
  689. addressing  structure, since when a Switch sees a logical address
  690.  
  691. for which it does not have complete information, it must be  able
  692.  
  693. to  determine  how  to get that complete information.  The scheme
  694.  
  695. would be self-defeating if it meant that we had to have  a  table
  696.  
  697. of  all the logical addresses, with an indication for each one of
  698.  
  699. which other Switch has the complete information.  Rather, we need
  700.  
  701. to be able to group the logical addresses into "areas", of  which
  702.  
  703. there will be a bounded number.  Then each Switch will be able to
  704.  
  705. keep a table indicating which other Switches contain the complete
  706.  
  707. translation information for each area.  This table of areas would
  708.  
  709. then  be  the only part of the complete set of translation tables
  710.  
  711. that had to be resident at ALL Switches.  While this is much more
  712.  
  713. feasible than requiring each Switch to keep  a  table  containing
  714.  
  715.  
  716.                              - 12 -
  717.  
  718. IEN 188                              Bolt Beranek and Newman Inc.
  719.                                                     Eric C. Rosen
  720.  
  721.  
  722. all  the  logical  addresses,  it does means that the destination
  723.  
  724. address provided by the source  Host  must  include  not  only  a
  725.  
  726. destination  Host  identifier,  but  also an "area code" for that
  727.  
  728. logical address.
  729.  
  730.  
  731.      If we are going to organize the  logical  addresses  of  all
  732.  
  733. internet  Hosts  into a relatively small set of "areas", we would
  734.  
  735. like to find some means of organization which is fairly  optimal.
  736.  
  737. Unfortunately, there are a number of fairly subtle considerations
  738.  
  739. which   make  this  quite  tricky  to  do.   Certain  intuitively
  740.  
  741. attractive ways of organizing the internet into these areas  will
  742.  
  743. result  in  various  sorts  of  significant  and  quite  annoying
  744.  
  745. sub-optimalities.  Suppose, for example,  we  treated  "area"  as
  746.  
  747. meaning  "home network", much as in the present Catenet IP (where
  748.  
  749. network number is  part  of  the  address  that  the  Hosts  must
  750.  
  751. specify.) Then we would require all and only the ARPANET gateways
  752.  
  753. to contain the logical-to-physical addressing information for the
  754.  
  755. ARPANET  Hosts,  all  and only the SATNET gateways to contain the
  756.  
  757. tables for the logical addresses of the SATNET Hosts,  etc.   The
  758.  
  759. user,  in  addressing  a particular Host, would not only name it,
  760.  
  761. but also name its "home network", and  the  source  Switch  would
  762.  
  763. choose  some Switch which interfaces directly to the home network
  764.  
  765. of the destination Host from  which  to  obtain  the  translation
  766.  
  767. information.   This  method of organization, however, has several
  768.  
  769. unsatisfactory consequences.  One problem is that if any Host  is
  770.  
  771. on  two  "home networks", we want the Switches, not the Hosts, to
  772.  
  773.                              - 13 -
  774.  
  775. IEN 188                              Bolt Beranek and Newman Inc.
  776.                                                     Eric C. Rosen
  777.  
  778.  
  779. choose which "destination network" to use.  This is necessary  if
  780.  
  781. we  want  the  routing  algorithm to be able to choose the "best"
  782.  
  783. path to some destination Host, and is  really  the  only  way  of
  784.  
  785. ensuring  that packets can be delivered to a Host over some path,
  786.  
  787. if one of the Host's home networks is down but the other  is  up.
  788.  
  789. (This  is  jumping  ahead  a  bit, since a full discussion of the
  790.  
  791. "partitioned net" problem will not appear until section 3.4.  The
  792.  
  793. point, though, is that the choice of "home network" to  use  when
  794.  
  795. sending  traffic  to  a  particular destination Host is a ROUTING
  796.  
  797. PROBLEM, NOT AN ADDRESSING PROBLEM.  Therefore  it  ought  to  be
  798.  
  799. totally  in  the  province of the Switches, which are responsible
  800.  
  801. for routing, and not at all in the province of the  Hosts,  which
  802.  
  803. must participate in the addressing, but not the routing.)
  804.  
  805.  
  806.      Another  problem arises as follows.  Suppose we have adopted
  807.  
  808. the scheme of sending packets for a certain area to a  Switch  in
  809.  
  810. that   area,   depending   on  that  Switch  to  do  the  further
  811.  
  812. logical-to-physical translation.  It is possible that  when  this
  813.  
  814. further  translation  is  done, we will find that the route which
  815.  
  816. the packet travels from that Switch takes  it  back  through  the
  817.  
  818. source   Switch.    This   could   mean   a   very   lengthy  and
  819.  
  820. delay-producing "detour" for  the  packet.   It  might  at  first
  821.  
  822. appear  that  this  is  not very likely.  If a packet is going to
  823.  
  824. some ARPANET Host, and  we  send  it  to  some  Switch  which  is
  825.  
  826. directly  connected to the ARPANET, surely we have sent it closer
  827.  
  828. to its final destination, not further away.  Unfortunately,  that
  829.  
  830.                              - 14 -
  831.  
  832. IEN 188                              Bolt Beranek and Newman Inc.
  833.                                                     Eric C. Rosen
  834.  
  835.  
  836. just  is  not  necessarily true.  Network partition or congestion
  837.  
  838. may force a packet for an ARPANET Host to travel from an  ARPANET
  839.  
  840. gateway to a gateway (or series of gateways) outside the ARPANET,
  841.  
  842. back around (through a potentially long route) to another ARPANET
  843.  
  844. gateway.   (Consider  the  partitioned  net  and  the  expressway
  845.  
  846. problems.)  In such cases, the Network Structure may  already  be
  847.  
  848. in  a  condition of stress which is likely to result in below par
  849.  
  850. performance.  We do not want to make things even worse by  adding
  851.  
  852. any  further  unnecessary  but  lengthy  detours  just because we
  853.  
  854. cannot keep all the addressing information at the source  Switch.
  855.  
  856.  
  857.      One  way  of  helping to avoid these sorts of problems is to
  858.  
  859. separate the notion of "area" from  any  physical  meaning.   The
  860.  
  861. purpose  of  adding  the notion of area to the logical addressing
  862.  
  863. scheme is just to enable us to distribute the data base needed to
  864.  
  865. do logical-to-physical address translation.  There is  no  reason
  866.  
  867. to  suppose  that  the  addressing  information  needed  for some
  868.  
  869. particular Host ought to be contained only in Switches  that  are
  870.  
  871. "near"  that  Host.   That  would  be  a  mistake.   Rather,  the
  872.  
  873. addressing information ought to be somewhere which is "near"  the
  874.  
  875. SOURCE  Host,  not  somewhere which is near the destination Host.
  876.  
  877. This maximizes the chances that the necessary address translation
  878.  
  879. will be done as soon as possible  after  the  packet  enters  the
  880.  
  881. Network Structure.  The sooner we do the address translation, the
  882.  
  883. more  information we have which we can make use of to improve the
  884.  
  885. routing of the  packet,  and  the  less  likely  any  unnecessary
  886.  
  887. detours will be.
  888.                              - 15 -
  889.  
  890. IEN 188                              Bolt Beranek and Newman Inc.
  891.                                                     Eric C. Rosen
  892.  
  893.  
  894.      One  might  think  that at least Hosts which are on the same
  895.  
  896. home network should be grouped into the  same  area.   This  will
  897.  
  898. work  until  the  first  time a Host is moved from one network to
  899.  
  900. another.  Since the area codes are given by the  individual  Host
  901.  
  902. or  user as part of the address in the Network Access Protocol of
  903.  
  904. the internet, changing a Host's area code would involve  changing
  905.  
  906. Host-level   software   or  tables,  which  has  to  be  avoided.
  907.  
  908. (Avoiding  the  need  to  make  such  changes  when  Hosts   move
  909.  
  910. physically   is  one  of  the  main  reasons  for  using  logical
  911.  
  912. addressing.)  So we really have to think  of  "areas"  as  random
  913.  
  914. collections of Hosts.
  915.  
  916.  
  917.      What we are proposing is a truly distributed logical address
  918.  
  919. translation  table,  rather  than  a  scheme  where  each  Switch
  920.  
  921. maintains only local information.  To make  this  more  concrete,
  922.  
  923. consider  how  this  might  be  done  in  the  Catenet.   All the
  924.  
  925. information about logical addresses which refer to Hosts  on  the
  926.  
  927. ARPANET would be contained not only in all the gateways which are
  928.  
  929. directly  connected  to  the  ARPANET,  but  also  in  a  set  of
  930.  
  931. additional gateways which  are  uniformly  scattered  around  the
  932.  
  933. internet.  Then, although the addressing information would not be
  934.  
  935. in  every potential source Switch, it would be somewhere close to
  936.  
  937. every potential source Switch, and  packets  would  not  have  to
  938.  
  939. travel  a  long  distance only to find out that they are going in
  940.  
  941. the wrong direction.
  942.  
  943.  
  944.  
  945.                              - 16 -
  946.  
  947. IEN 188                              Bolt Beranek and Newman Inc.
  948.                                                     Eric C. Rosen
  949.  
  950.  
  951. 3.4  Model of Operation:  More Detail
  952.  
  953.  
  954.      Let's assume that a source Host has given  a  message  to  a
  955.  
  956. source  Switch,  with  a  logical  address  and  an  "area  code"
  957.  
  958. indicating the destination Host.  If the source Switch  does  not
  959.  
  960. have  the complete address translation information in its tables,
  961.  
  962. it will look in its table of area codes.   The  given  area  code
  963.  
  964. will  be associated in the latter table with some set of Switches
  965.  
  966. (within the same Network Structure).  The sequence of  operations
  967.  
  968. that we envisage is the following:
  969.  
  970.  
  971.      1) The source Switch picks one of these Switches, and  sends
  972.  
  973.         the message to it.  There must be enough protocol between
  974.  
  975.         these  two  Switches so that the chosen Switch knows that
  976.  
  977.         it is not the  final  destination  Switch,  but  only  an
  978.  
  979.         intermediate  Switch, and that it is expected to complete
  980.  
  981.         the address translation and then to forward  the  message
  982.  
  983.         further.
  984.  
  985.  
  986.      2) The chosen Switch must be able to recognize  the  logical
  987.  
  988.         address  of  the  destination Host, and associate it with
  989.  
  990.         one or more possible destination Switches.   The  message
  991.  
  992.         will be forwarded to one of these Switches.  Furthermore,
  993.  
  994.         the addressing information can be sent back to the source
  995.  
  996.         Switch  where  it  can  be  held  in  a cache in case the
  997.  
  998.         message is followed by a flood of additional messages for
  999.  
  1000.         the same logical address.
  1001.  
  1002.                              - 17 -
  1003.  
  1004. IEN 188                              Bolt Beranek and Newman Inc.
  1005.                                                     Eric C. Rosen
  1006.  
  1007.  
  1008.      In the case where the source Switch  does  contain  complete
  1009.  
  1010. address  translation  information  for  the  destination  logical
  1011.  
  1012. address, that logical address will be associated with some set of
  1013.  
  1014. potential destination Switches.  The source  Switch  will  choose
  1015.  
  1016. one, and send the message directly to it.
  1017.  
  1018.  
  1019.      Logical-to-physical  address  translation  should be done by
  1020.  
  1021. only one Switch; either the source Switch or the Switch chosen by
  1022.  
  1023. the source Switch on the basis of the area  code.   There  is  no
  1024.  
  1025. need to allow intermediate Switches to do any logical-to-physical
  1026.  
  1027. address  translation.   (There  is  only  one  exception to this,
  1028.  
  1029. namely the case where a message arrives at an intermediate Switch
  1030.  
  1031. only to discover that the destination Switch chosen by the source
  1032.  
  1033. Switch is no longer accessible.  In this case, re-translation  is
  1034.  
  1035. the alternative to dropping the message entirely.)  Remember that
  1036.  
  1037. many  Hosts will be multi-homed (in the internet, virtually every
  1038.  
  1039. Host is multi-homed, since most networks will have at  least  two
  1040.  
  1041. internet  gateways  connected  to  them),  so  that there will in
  1042.  
  1043. general  be  more  than  one  possible  destination  Switch.   By
  1044.  
  1045. prohibiting re-translation at intermediate Switches, we avoid the
  1046.  
  1047. problems  of  looping  that might arise if different intermediate
  1048.  
  1049. Switches make different choices of  destination  Switch.   As  we
  1050.  
  1051. shall  see,  this also simplifies our approach to the partitioned
  1052.  
  1053. net problem, and at any rate, there  is  no  great  advantage  to
  1054.  
  1055. allowing intermediate Switch translation (cf. IEN 183).
  1056.  
  1057.  
  1058.  
  1059.                              - 18 -
  1060.  
  1061. IEN 188                              Bolt Beranek and Newman Inc.
  1062.                                                     Eric C. Rosen
  1063.  
  1064.  
  1065.      We  suggested  above  that  if  a  source  Switch  does  not
  1066.  
  1067. recognize a particular logical address, and  hence  must  send  a
  1068.  
  1069. message  to  another Switch (as determined by the area code), the
  1070.  
  1071. latter Switch should send the addressing information back to  the
  1072.  
  1073. source  Switch,  to  be  kept temporarily in a cache.  We have to
  1074.  
  1075. emphasize "temporarily." The source Switch should  time  out  the
  1076.  
  1077. addressing  information  which  it  keeps  in the cache, and then
  1078.  
  1079. discard it.  If it later receives from any of  its  source  Hosts
  1080.  
  1081. any subsequent messages for the same destination logical address,
  1082.  
  1083. it will have to reobtain the information.  The reason for this is
  1084.  
  1085. that  it  will  be  necessary,  from  time to time, to change the
  1086.  
  1087. translation tables.  It is not that hard to develop  an  updating
  1088.  
  1089. procedure which ensures consistent updating of all Switches where
  1090.  
  1091. the information about a logical address normally resides.  But it
  1092.  
  1093. might  be  more  difficult  to  develop a procedure which ensures
  1094.  
  1095. consistent updating of all the temporary (cached) copies of  that
  1096.  
  1097. information.   Timing  out the temporary copies of the addressing
  1098.  
  1099. information  will  prevent  out-of-date  information  from  being
  1100.  
  1101. preserved  in  inappropriate  places.   (Though  the  use  of  an
  1102.  
  1103. out-of-date translation is not so terrible, since it would elicit
  1104.  
  1105. a DNA message, rather than causing mis-delivery of data.  See IEN
  1106.  
  1107. 183 for details.   In  this  sense,  out-of-date  information  is
  1108.  
  1109. self-correcting.)
  1110.  
  1111.  
  1112.      When  either a destination Host name (logical address) or an
  1113.  
  1114. area code maps into several  Switches,  the  source  Switch  must
  1115.  
  1116.                              - 19 -
  1117.  
  1118. IEN 188                              Bolt Beranek and Newman Inc.
  1119.                                                     Eric C. Rosen
  1120.  
  1121.  
  1122. apply  some  criterion  to  choose  one from among them, since in
  1123.  
  1124. general we will want to send only one copy of the message to  its
  1125.  
  1126. destination.   (Though there may indeed be cases in which we want
  1127.  
  1128. to send a copy  of  the  message  to  each  possible  destination
  1129.  
  1130. Switch, in order to increase the reliability of the system, or to
  1131.  
  1132. be  sure  that we get the message to its destination Host as fast
  1133.  
  1134. as possible.)  There are several possible criteria that we  might
  1135.  
  1136. consider using:
  1137.  
  1138.  
  1139.      a) We might always choose the "closest" Switch, according to
  1140.  
  1141.         some particular distance metric (which might or might not
  1142.  
  1143.         be   the   same  distance  metric  used  by  the  routing
  1144.  
  1145.         algorithm).
  1146.  
  1147.  
  1148.      b) The list of potential destination Switches might  have  a
  1149.  
  1150.         "built-in" ordering, so that the first one is always used
  1151.  
  1152.         unless it is down, in which case the second one is always
  1153.  
  1154.         used,  unless  it is down, in which case the third one is
  1155.  
  1156.         used, etc.
  1157.  
  1158.  
  1159.      c) If the set of  potential  destination  Switches  has  the
  1160.  
  1161.         right  sort  of topological distribution, we might try to
  1162.  
  1163.         round-robin  them  in  order  to  achieve  some  sort  of
  1164.  
  1165.         load-splitting.
  1166.  
  1167.  
  1168.      d) If we can obtain  some  information  about  the  relative
  1169.  
  1170.         loadings  of  the  various Switches, we can try to choose
  1171.  
  1172.  
  1173.                              - 20 -
  1174.  
  1175. IEN 188                              Bolt Beranek and Newman Inc.
  1176.                                                     Eric C. Rosen
  1177.  
  1178.  
  1179.         the one with the smallest load (to try to  avoid  causing
  1180.  
  1181.         congestion  within the destination Switches), or we might
  1182.  
  1183.         try to trade off the increase in load that we will  cause
  1184.  
  1185.         at  the  destination  Switch with the distance we have to
  1186.  
  1187.         travel to get there.
  1188.  
  1189.  
  1190.      e) Certain possible destination Switches  might  be  favored
  1191.  
  1192.         for  certain  classes  of  traffic  (as determined by the
  1193.  
  1194.         "type  of  service"   field,   or   by   access   control
  1195.  
  1196.         considerations).   That  is, certain destination Switches
  1197.  
  1198.         might be favored for  interactive  traffic,  and  certain
  1199.  
  1200.         others  (with more capacity?) for bulk traffic.  Or there
  1201.  
  1202.         might be administrative access control restrictions which
  1203.  
  1204.         prohibit certain classes of traffic from  being  sent  to
  1205.  
  1206.         certain  Switches.   (This may be particularly applicable
  1207.  
  1208.         in an internet context where different Switches are under
  1209.  
  1210.         the  control  of  different   administrations.    It   is
  1211.  
  1212.         possible, though, to imagine applications of this sort of
  1213.  
  1214.         access  control  even  in a single-administration Network
  1215.  
  1216.         Structure.   For  example,  we  might  want  to  prohibit
  1217.  
  1218.         military traffic from entering certain Switches, in order
  1219.  
  1220.         to  preserve  capacity for important university traffic.)
  1221.  
  1222.  
  1223.      f) It is possible to combine some  of  the  above  criteria,
  1224.  
  1225.         e.g.,  choose  the  closest (i.e., shortest delay) Switch
  1226.  
  1227.         for interactive traffic and the most lightly  loaded  one
  1228.  
  1229.         for bulk traffic.
  1230.                              - 21 -
  1231.  
  1232. IEN 188                              Bolt Beranek and Newman Inc.
  1233.                                                     Eric C. Rosen
  1234.  
  1235.  
  1236. Remember that in the internet case, all the Hosts on some network
  1237.  
  1238. are  considered  to be homed to all the gateways on that network,
  1239.  
  1240. so that in general most Hosts will be multi-homed, and the way we
  1241.  
  1242. select the destination Switch could have a significant effect  on
  1243.  
  1244. internet performance.
  1245.  
  1246.  
  1247.      Of  course,  a  destination  Switch might itself have two or
  1248.  
  1249. more Pathways to a  particular  destination  Host.   Perhaps  the
  1250.  
  1251. Switch  is  a  gateway  on  two networks, and the Host is also on
  1252.  
  1253. those two networks.  Or perhaps the Switch  is  multi-homed  onto
  1254.  
  1255. the  network  of  the  Host.   In  such  cases,  a further choice
  1256.  
  1257. remains -- the destination Switch must choose  which  of  several
  1258.  
  1259. possible  Pathways  to  the  destination  Host  it should use for
  1260.  
  1261. sending  some  particular  packet.   Each  (destination)  Switch,
  1262.  
  1263. therefore, will have to have a second logical-to-physical address
  1264.  
  1265. translation  table,  which  it  accesses  in  order to choose the
  1266.  
  1267. proper Pathway to a destination Host.   This  second  translation
  1268.  
  1269. table,   however,  contains  information  which  is  only  useful
  1270.  
  1271. locally.  In addition to containing information needed to map the
  1272.  
  1273. logical address onto one of the Switch's access  lines,  it  must
  1274.  
  1275. also  contain  any  information  needed  in  order to specify the
  1276.  
  1277. address of the destination Host in the Pathway  Access  Protocol.
  1278.  
  1279. In  some  cases,  the  logical  address  of the Host in its "home
  1280.  
  1281. network" may be the same as its logical address in the  internet,
  1282.  
  1283. in  which  case  no additional information is needed.  If this is
  1284.  
  1285. not the case, or if the "home  network"  does  not  have  logical
  1286.  
  1287.                              - 22 -
  1288.  
  1289. IEN 188                              Bolt Beranek and Newman Inc.
  1290.                                                     Eric C. Rosen
  1291.  
  1292.  
  1293. addressing, the local translation tables must contain information
  1294.  
  1295. for  mapping  the internet logical address to an address (logical
  1296.  
  1297. or physical) which is meaningful  in  the  "home  network."   The
  1298.  
  1299. issues  of  choosing  one  from  among a set of possible Pathways
  1300.  
  1301. according to some criteria are basically the  same  as  those  we
  1302.  
  1303. have  been  discussing from the perspective of the source Switch,
  1304.  
  1305. however.
  1306.  
  1307.  
  1308.      An interesting little issue: suppose that traffic for Host H
  1309.  
  1310. can be sent to either Switch A or B, but that the route to Switch
  1311.  
  1312. B contains Switch A as an intermediate Switch.   Does  this  mean
  1313.  
  1314. that  the traffic should always be sent to A, rather than B?  Not
  1315.  
  1316. necessarily.  Perhaps A has plenty  of  bandwidth  available  for
  1317.  
  1318. forwarding traffic to other Switches, but only a little available
  1319.  
  1320. for  sending  traffic  directly  to  a Host.  Or the Pathway from
  1321.  
  1322. Switch A to Host H may itself have such a long delay that  it  is
  1323.  
  1324. quicker  to  send  the  traffic  through  A  to B and then on B's
  1325.  
  1326. Pathway to H.  While  it may turn out to  be  very  difficult  to
  1327.  
  1328. take  account of such factors, we ought not to rule them out by a
  1329.  
  1330. priori considerations, and we ought not to  design  a  system  in
  1331.  
  1332. which such factors cannot be considered.
  1333.  
  1334.  
  1335.      A  variant on this issue can arise as follows.  Suppose Host
  1336.  
  1337. H1 wants to send some data to Host H2, and H1 puts this data into
  1338.  
  1339. the internet by submitting it to source Switch  S.   Now  S  will
  1340.  
  1341. look  in  its  address  translation  table  to  find the possible
  1342.  
  1343.  
  1344.                              - 23 -
  1345.  
  1346. IEN 188                              Bolt Beranek and Newman Inc.
  1347.                                                     Eric C. Rosen
  1348.  
  1349.  
  1350. destination Switches for H2.  Let's suppose that  there  are  two
  1351.  
  1352. such  possible  destination  Switches, one of which is D, and the
  1353.  
  1354. other of which is S itself.  That is, S has a choice  of  sending
  1355.  
  1356. the  data  directly  to  H2  (over a Pathway with no intermediate
  1357.  
  1358. Switches), or of sending it to D, so D can transmit  it  directly
  1359.  
  1360. to  H2.   Nothing  in  the proposed scheme constrains S to choose
  1361.  
  1362. itself as the destination Switch.  If we want, we can have S make
  1363.  
  1364. the choice of  destination  Switch  without  taking  any  special
  1365.  
  1366. cognizance  of  the fact that it itself is a possible destination
  1367.  
  1368. Switch.  Or we might even require that S not choose itself as the
  1369.  
  1370. destination Switch.  That is, when a gateway on the ARPANET,  for
  1371.  
  1372. example,  gets  some  data from an ARPANET Host which is destined
  1373.  
  1374. for another ARPANET Host, maybe we  want  the  data  to  be  sent
  1375.  
  1376. through  another  gateway, rather than just sending it right back
  1377.  
  1378. into the ARPANET.  This possibility might be crucial  to  solving
  1379.  
  1380. the "expressway" problem.  While we are not at present making any
  1381.  
  1382. proposals for allowing the internet to be used as an "expressway"
  1383.  
  1384. between  two  Hosts  on  a common, but very slow, network, we are
  1385.  
  1386. trying to ensure that nothing in our proposed  addressing  scheme
  1387.  
  1388. will  make  this impossible.  This is a very important difference
  1389.  
  1390. between our proposed scheme and the scheme presently  implemented
  1391.  
  1392. in  the  Catenet, where a source Switch which is also a potential
  1393.  
  1394. destination Switch is highly constrained to pick  itself  as  the
  1395.  
  1396. actual  destination  Switch.   Of course, for this to work, there
  1397.  
  1398. must be enough protocol so that a Switch which receives some data
  1399.  
  1400.  
  1401.                              - 24 -
  1402.  
  1403. IEN 188                              Bolt Beranek and Newman Inc.
  1404.                                                     Eric C. Rosen
  1405.  
  1406.  
  1407. can know whether it is getting it directly from a source Host, or
  1408.  
  1409. whether it is getting it from another Switch.
  1410.  
  1411.  
  1412.      When we say that a particular Host name maps onto a  set  of
  1413.  
  1414. possible  Switches, what we are really saying is that each member
  1415.  
  1416. of that set of Switches has a Pathway to the Host.  Remember  the
  1417.  
  1418. definition  of  "Pathway"  --  a  Pathway  in Network Structure N
  1419.  
  1420. between two Switches of Network Structure N or between  a  Switch
  1421.  
  1422. and  a  Host  of  Network  Structure  N  is a communications path
  1423.  
  1424. between the two entities which does not contain any  Switches  of
  1425.  
  1426. Network Structure N.  The logical-to-physical address translation
  1427.  
  1428. tables  will  not  map  a  Host  name  to  a  particular  set  of
  1429.  
  1430. destination Switches unless each of those Switches has a  Pathway
  1431.  
  1432. to  that Host.  But we must remember that at any particular time,
  1433.  
  1434. one or more of these Pathways may be down.  Before we  apply  the
  1435.  
  1436. above  criteria  (or  others)  to the set of possible destination
  1437.  
  1438. Switches in order to choose  a  particular  one,  we  must  first
  1439.  
  1440. eliminate  from  the  set  any  Switches  whose  Pathway  to  the
  1441.  
  1442. destination Host is down.   This  is  a  non-trivial  task  which
  1443.  
  1444. breaks down naturally into two sub-tasks.  First, the destination
  1445.  
  1446. Switch  must  be  able  to  determine which of the Hosts that are
  1447.  
  1448. normally homed to  it  is  reachable  at  some  particular  time.
  1449.  
  1450. Second,  this  information must be fed back to the source Switch.
  1451.  
  1452. Each of these sub-tasks raises a number of interesting issues.
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.                              - 25 -
  1459.  
  1460. IEN 188                              Bolt Beranek and Newman Inc.
  1461.                                                     Eric C. Rosen
  1462.  
  1463.  
  1464.      In IEN 187, we discussed the importance of having a  Pathway
  1465.  
  1466. up/down  protocol  run between each Host and each Switch to which
  1467.  
  1468. it is homed, so that a source Host can know which source Switches
  1469.  
  1470. it has a currently operational Pathway to.  Now we see the  other
  1471.  
  1472. side  of  the  coin  --  each  destination Switch must be able to
  1473.  
  1474. determine which Hosts it currently has an operational Pathway to.
  1475.  
  1476. Many of the considerations discussed in IEN 187 apply  here  too,
  1477.  
  1478. and need not be mentioned again.  Basically, the Switch will have
  1479.  
  1480. to  run  a low-level up/down protocol which relies on the network
  1481.  
  1482. which underlies the Pathway to tell it whether a particular  Host
  1483.  
  1484. is reachable (e.g., the ARPANET returns an 1822 DEAD Reply to any
  1485.  
  1486. ARPANET source Host which attempts to send a non-datagram message
  1487.  
  1488. to  an  unreachable  destination  Host), and the Switch will also
  1489.  
  1490. have to run a higher-level up/down protocol  whereby  it  queries
  1491.  
  1492. the Host and infers that the Host is unreachable if no replies to
  1493.  
  1494. the queries are received.  Of course, if some Pathway consists of
  1495.  
  1496. a  simple  datagram-oriented network that provides no feedback to
  1497.  
  1498. the source, then a higher-level protocol will  have  to  be  used
  1499.  
  1500. alone.
  1501.  
  1502.  
  1503.      Assuming  that  the  Switches  have  some way of determining
  1504.  
  1505. whether their Pathways to particular Hosts  are  operational,  we
  1506.  
  1507. have   the   following   subsidiary   issue   --   should   these
  1508.  
  1509. determinations be made on a regular basis,  for  all  Hosts  that
  1510.  
  1511. might be reachable, or should they be made on an exception basis,
  1512.  
  1513. with the information obtained only as needed?  Let's consider the
  1514.  
  1515.                              - 26 -
  1516.  
  1517. IEN 188                              Bolt Beranek and Newman Inc.
  1518.                                                     Eric C. Rosen
  1519.  
  1520.  
  1521. analogous  operation in the ARPANET.  In the ARPANET, the up/down
  1522.  
  1523. status of each Host is maintained continuously, as  a  matter  of
  1524.  
  1525. course,   by   the  IMP  to  which  that  Host  is  homed.   This
  1526.  
  1527. information, however, is not generally maintained at other  IMPs.
  1528.  
  1529. If  a packet for a dead Host (on a live IMP) is submitted to some
  1530.  
  1531. source IMP, the packet will always be  sent  to  the  destination
  1532.  
  1533. IMP,  which will (unless the packet is a datagram) return an 1822
  1534.  
  1535. DEAD reply.  The source IMP receives the DEAD reply,  signals  it
  1536.  
  1537. to  the  source Host, and then discards the information.  IMPs do
  1538.  
  1539. not maintain status  information  about  remote  Hosts,  but  the
  1540.  
  1541. information  is  available  to  them as they need it (i.e., on an
  1542.  
  1543. exception basis).  On the other hand, each IMP  always  maintains
  1544.  
  1545. complete,   accurate,   and   up-to-date  information  about  the
  1546.  
  1547. reachability of each other IMP.  Whenever any IMP  goes  down  or
  1548.  
  1549. comes  up,  this information is broadcast to all other IMPs in an
  1550.  
  1551. extremely quick and reliable manner.  If a source  Host  attempts
  1552.  
  1553. to send a packet to a Host on an unreachable IMP, no data is sent
  1554.  
  1555. across  the network at all; the source IMP already knows that the
  1556.  
  1557. destination IMP cannot be reached,  and  tells  the  source  Host
  1558.  
  1559. immediately.
  1560.  
  1561.  
  1562.      Why don't IMPs maintain regular status information about all
  1563.  
  1564. ARPANET Hosts?  It's not as if this is against the law, and under
  1565.  
  1566. certain  conditions, it might be advantageous to do so.  However,
  1567.  
  1568. the more entities  about  which  regular  status  information  is
  1569.  
  1570. maintained, the more bandwidth (trunk and CPU) and memory must be
  1571.  
  1572.                              - 27 -
  1573.  
  1574. IEN 188                              Bolt Beranek and Newman Inc.
  1575.                                                     Eric C. Rosen
  1576.  
  1577.  
  1578. devoted   to   handling  the  information.   With  a  potentially
  1579.  
  1580. unbounded number of Hosts being able to connect to  the  ARPANET,
  1581.  
  1582. it  does  not  seem feasible for all IMPs to maintain this status
  1583.  
  1584. information for every Host.   Fortunately,  it  just  is  not  as
  1585.  
  1586. important  to  maintain status information for Hosts as it is for
  1587.  
  1588. IMPs.  Status information about the IMPs is necessary in order to
  1589.  
  1590. do routing, so failure to  maintain  this  information  regularly
  1591.  
  1592. would  degrade  the  routing capability, with a consequent global
  1593.  
  1594. degradation in network service.  Since Hosts, on the other  hand,
  1595.  
  1596. are not used for storing-and-forwarding packets, routing does not
  1597.  
  1598. have  to  be so aware of Host status, and global degradations due
  1599.  
  1600. to incorrect assumptions about Host status are less likely.
  1601.  
  1602.  
  1603.      If we can't expect ARPANET IMPs to maintain  regular  status
  1604.  
  1605. information  for  each  Host,  we certainly can't expect internet
  1606.  
  1607. gateways to maintain regular  status  information  for  each  and
  1608.  
  1609. every  Host  in  the  internet.   In  fact,  in the internet, the
  1610.  
  1611. situation is even worse.  In  the  ARPANET,  each  IMP  at  least
  1612.  
  1613. maintains regular status information about the few Hosts to which
  1614.  
  1615. it is directly connected.  This is simple enough to do, since the
  1616.  
  1617. number of Hosts on an IMP is bounded (barring the introduction of
  1618.  
  1619. local  nets or port expanders) and there are machine instructions
  1620.  
  1621. to detect the state of the Ready Line.  However,  we  can  hardly
  1622.  
  1623. expect a gateway to maintain regular status information about all
  1624.  
  1625. the  Hosts  on  all the networks to which the gateway is directly
  1626.  
  1627. connected.   So  we  will  suppose  that   in   general,   status
  1628.  
  1629.                              - 28 -
  1630.  
  1631. IEN 188                              Bolt Beranek and Newman Inc.
  1632.                                                     Eric C. Rosen
  1633.  
  1634.  
  1635. information  about  the  Hosts  which  are  homed to a particular
  1636.  
  1637. Switch will be obtained by that Switch on an exception basis,  as
  1638.  
  1639. needed.  Of course, saying that this will be true in general does
  1640.  
  1641. not  mean  that  it must be universally true.  If there are a few
  1642.  
  1643. Hosts somewhere that are major servers with many  many  important
  1644.  
  1645. users  scattered  around the internet, there is no reason why the
  1646.  
  1647. Switches to which those servers are homed cannot maintain regular
  1648.  
  1649. status information about those few Hosts.  If the number of  such
  1650.  
  1651. special  Hosts  is  kept  small,  this would not be prohibitively
  1652.  
  1653. expensive, and if these Hosts really do handle a large portion of
  1654.  
  1655. the internet traffic,  this  might  be  an  important  efficiency
  1656.  
  1657. savings.
  1658.  
  1659.  
  1660.      If  a source Switch knows that a particular destination Host
  1661.  
  1662. logical address can be mapped to any of a number  of  destination
  1663.  
  1664. Switches,  then,  as we have pointed out, it must be able to tell
  1665.  
  1666. when, due to some sort  of  failure  or  network  partition,  the
  1667.  
  1668. destination Host is (temporarily) unreachable via some particular
  1669.  
  1670. Switch.   It  must  have  that information in order to be able to
  1671.  
  1672. avoid choosing a destination Switch whose Pathway to the Host  is
  1673.  
  1674. non-operational.   If  we  agree  that the Pathway up/down status
  1675.  
  1676. between  a  particular  destination  Switch  and   a   particular
  1677.  
  1678. destination  Host  which  is  ordinarily  homed to it can only be
  1679.  
  1680. obtained, on an  exception  basis,  by  that  destination  Switch
  1681.  
  1682. itself,  it  follows  that  this  information  can  also  only be
  1683.  
  1684. obtained by the source Switch on an exception  basis.   That  is,
  1685.  
  1686.                              - 29 -
  1687.  
  1688. IEN 188                              Bolt Beranek and Newman Inc.
  1689.                                                     Eric C. Rosen
  1690.  
  1691.  
  1692. the  only  way  for a source Switch to find out that a particular
  1693.  
  1694. Host  can  temporarily  not  be  reached  through  a   particular
  1695.  
  1696. destination  Switch  is  to  send a message for that Host to that
  1697.  
  1698. Switch.  The destination Switch must then determine that  it  has
  1699.  
  1700. no  operational  Pathway  to  that  Host, and it must send back a
  1701.  
  1702. control message to the source Switch informing it of  this  fact.
  1703.  
  1704. (In  IEN  183,  we  christened these messages "DNA messages", for
  1705.  
  1706. "Destination Not Accessible.) The source Switch will  store  this
  1707.  
  1708. information  in its address translation tables, so that from then
  1709.  
  1710. on it does not choose a destination Switch whose Pathway  to  the
  1711.  
  1712. Host  is  down.   (Of course, in addition to sending this control
  1713.  
  1714. information back to the source Switch, the  putative  destination
  1715.  
  1716. Switch  should also try to forward the message it received to one
  1717.  
  1718. of the other Switches to which the destination Host is homed.)
  1719.  
  1720.  
  1721.      This should  work  well,  unless  the  Pathway  between  the
  1722.  
  1723. original  destination  Switch and the destination Host comes back
  1724.  
  1725. up.  We must develop some way of informing the source Switch that
  1726.  
  1727. that destination Switch is now once again usable as a destination
  1728.  
  1729. Switch for that Host.  A simple and robust way to handle this  is
  1730.  
  1731. as  follows.   When a source Switch is informed, according to the
  1732.  
  1733. mechanism  of  the  previous   paragraph,   that   a   particular
  1734.  
  1735. destination  Switch  cannot  reach  a particular destination Host
  1736.  
  1737. (without  forwarding  traffic  through  additional   intermediate
  1738.  
  1739. Switches),  it  marks  (in  its  address translation tables) that
  1740.  
  1741. Switch as UNUSABLE as a destination for that Host.  However, this
  1742.  
  1743.                              - 30 -
  1744.  
  1745. IEN 188                              Bolt Beranek and Newman Inc.
  1746.                                                     Eric C. Rosen
  1747.  
  1748.  
  1749. information is reset periodically, say, every  few  minutes.   In
  1750.  
  1751. effect,  this  approach  would  cause  a  source  Switch which is
  1752.  
  1753. handling  traffic  for  that  destination  Host  to   query   the
  1754.  
  1755. destination  Switch  periodically  to see if it has become usable
  1756.  
  1757. again.  Note that no special control message is  needed  for  the
  1758.  
  1759. querying.   The querying is done simply by sending data addressed
  1760.  
  1761. to the destination  Host  to  the  destination  Switch.   If  the
  1762.  
  1763. destination  Switch is still unusable, no data is lost, since the
  1764.  
  1765. data can be readdressed by the destination  Switch  and  sent  to
  1766.  
  1767. some  other  destination  Switch  which  does have an operational
  1768.  
  1769. Pathway to that destination  Host.   Note  also  that  with  this
  1770.  
  1771. scheme,  not all source Switches will be in agreement as to which
  1772.  
  1773. destination Switches can be used to reach which destination Hosts
  1774.  
  1775. at some particular time.  But this is not much of a  problem,  as
  1776.  
  1777. long as address translation is done only once, and not re-done at
  1778.  
  1779. each intermediate Switch.  Further, any source Switch which tries
  1780.  
  1781. to  use  the  wrong  destination  Switch  will be told, via a DNA
  1782.  
  1783. message, to use another one.
  1784.  
  1785.  
  1786.      Lest there be any misunderstanding, we should emphasize that
  1787.  
  1788. we are not proposing this as a general mechanism for  determining
  1789.  
  1790. which Hosts are homed to which Switches.  That information is not
  1791.  
  1792. to  be obtained dynamically at all, but rather is to be installed
  1793.  
  1794. in the translation tables at each Switch by the  Network  Control
  1795.  
  1796. Center  (or  whatever equivalent of the Network Control Center we
  1797.  
  1798. devise for  the  internet.)   This  mechanism  is  only  used  to
  1799.  
  1800.                              - 31 -
  1801.  
  1802. IEN 188                              Bolt Beranek and Newman Inc.
  1803.                                                     Eric C. Rosen
  1804.  
  1805.  
  1806. determine  that  a  Pathway  which ORDINARILY exists between some
  1807.  
  1808. Switch and some Host is TEMPORARILY out of operation.
  1809.  
  1810.  
  1811.      If a destination Host happens to be  unreachable  from  EACH
  1812.  
  1813. potential  destination  Switch  (which will happen if the Host is
  1814.  
  1815. down), this procedure will eventually result in the source Switch
  1816.  
  1817. marking all potential destination Switches unusable.   Once  this
  1818.  
  1819. happens,  the  source  Switch should discard any data it receives
  1820.  
  1821. which is destined for that destination Host,  and  should  return
  1822.  
  1823. some  sort  of  negative  acknowledgment to the source Host.  The
  1824.  
  1825. source Host can then try again, every few minutes, to  send  more
  1826.  
  1827. data  to  the  destination Host.  Since the information marking a
  1828.  
  1829. destination Switch as  unusable  (for  a  particular  destination
  1830.  
  1831. Host) is reset every few minutes, the source Host will be able to
  1832.  
  1833. establish  communication  with the destination Host soon after it
  1834.  
  1835. becomes  reachable  again.    Strictly   speaking,   a   negative
  1836.  
  1837. acknowledgment  from  the  source Switch is not required, and the
  1838.  
  1839. current IP  makes  no  provision  for  such  a  thing.   Yet  the
  1840.  
  1841. information  contained  in the negative acknowledgment might well
  1842.  
  1843. help  the  source  Host  to  choose  a  suitable   retransmission
  1844.  
  1845. interval.   If  a destination Host is unreachable, it makes sense
  1846.  
  1847. for a TCP to retransmit more infrequently than if the TCP has  no
  1848.  
  1849. information   at   all   about   why   it   is  not  getting  any
  1850.  
  1851. acknowledgments  from   the   destination   Host.    Also,   this
  1852.  
  1853. information  would  be  useful  to  the  end-user (if the various
  1854.  
  1855. protocol layers in his Host succeed in passing it back  to  him.)
  1856.  
  1857.                              - 32 -
  1858.  
  1859. IEN 188                              Bolt Beranek and Newman Inc.
  1860.                                                     Eric C. Rosen
  1861.  
  1862.  
  1863. A  user  who is not getting any response from the system may want
  1864.  
  1865. to take a different action if he knows his destination cannot  be
  1866.  
  1867. reached  than if he thinks that the network (or internet) is just
  1868.  
  1869. slow.
  1870.  
  1871.  
  1872.      This procedure, which is basically the same as  the  one  we
  1873.  
  1874. recommended  (in  IEN  183)  for  use  with  logically  addressed
  1875.  
  1876. multi-homed Hosts on the ARPANET, should resolve the  partitioned
  1877.  
  1878. net  problem.   Our approach is not dissimilar to one proposed by
  1879.  
  1880. Sunshine and Postel in IEN 135.  To quote them:
  1881.  
  1882.      A simpler solution to the partitioning problem  follows  the
  1883.      spirit of querying a database when things go wrong.  Suppose
  1884.      there  were  another  database  listing networks and all the
  1885.      gateways attached to each net (whether up  or  down).   This
  1886.      database would change slowly only as new equipment was added
  1887.      to  the  internet system.  Further suppose that the gateways
  1888.      and  internet  routing  are  totally  unaware   of   network
  1889.      partitions,  except  that  gateways to partitioned nets find
  1890.      out when they cannot reach some Host on their own  net.   In
  1891.      this  case,  the  gateway  would  return  a Host Unreachable
  1892.      (through me) advisory message to  the  source.   The  source
  1893.      could  then  query  the global database to get a list of all
  1894.      gateways to the  destination  net,  and  construct  explicit
  1895.      source routes to the destination going through each of these
  1896.      gateways, trying each one in turn until it succeeded.
  1897.  
  1898.  
  1899.      Note, however, that our proposal does not require any source
  1900.  
  1901. routing, because it is Switches (i.e., gateways) themselves which
  1902.  
  1903. are  the addressable entities in our scheme, rather than networks
  1904.  
  1905. (though the authors quoted above were considering how  to  handle
  1906.  
  1907. the  problem  in the current Catenet environment, rather than how
  1908.  
  1909. to design a new environment).  The database they propose  can  be
  1910.  
  1911. identified  with the translation tables we have spoken of.  Also,
  1912.  
  1913.  
  1914.                              - 33 -
  1915.  
  1916. IEN 188                              Bolt Beranek and Newman Inc.
  1917.                                                     Eric C. Rosen
  1918.  
  1919.  
  1920. our proposal handles the situation where a Pathway that was  down
  1921.  
  1922. becomes usable again, a case they don't seem to mention.
  1923.  
  1924.  
  1925.      It   is   sometimes  claimed  that  hierarchical  addressing
  1926.  
  1927. requires less table space than flat addressing, since there is no
  1928.  
  1929. need to have an entry in a translation table  for  each  address.
  1930.  
  1931. We  can  see now that this is not true.  If we wish to be able to
  1932.  
  1933. handle multi-homing, and in particular to handle the "partitioned
  1934.  
  1935. net" problem, we need to maintain table space for the Hosts  with
  1936.  
  1937. which  we are in communication.  This is true no matter what kind
  1938.  
  1939. of addressing scheme we adopt.
  1940.  
  1941.  
  1942.      Let's look now at how our scheme would handle the problem of
  1943.  
  1944. mobile Hosts, i.e., Hosts which move from one network to another.
  1945.  
  1946. We distinguish the case of "rapidly mobile" Hosts from  the  case
  1947.  
  1948. of  "slowly  mobile"  Hosts.  A Host is slowly mobile if its move
  1949.  
  1950. from one net to another can be made  with  enough  lead  time  to
  1951.  
  1952. allow  manual  intervention  to  update  the  logical-to-physical
  1953.  
  1954. address translation tables.  This case is handled simply  by  the
  1955.  
  1956. presence  of  the  logical  addressing.   When  the Host moves to
  1957.  
  1958. another network, it can still be addressed by the same name,  but
  1959.  
  1960. the translation tables are changed so that the logical address is
  1961.  
  1962. now  mapped  to  a  different set of Switches.  This creates some
  1963.  
  1964. work for the internet administration and control center,  but  is
  1965.  
  1966. completely  transparent  to  higher  level  protocols,  since the
  1967.  
  1968. logical address does not change.  On the other hand, we  consider
  1969.  
  1970.  
  1971.                              - 34 -
  1972.  
  1973. IEN 188                              Bolt Beranek and Newman Inc.
  1974.                                                     Eric C. Rosen
  1975.  
  1976.  
  1977. a  Host  to be rapidly mobile if it moves from one net to another
  1978.  
  1979. too quickly or too frequently to allow the procedure of modifying
  1980.  
  1981. the address translation tables to be feasible.  If we can know in
  1982.  
  1983. advance that there is some limited set of networks to which  that
  1984.  
  1985. Host  might  connect, we can map the logical address of that Host
  1986.  
  1987. onto the set of all  gateways  which  connect  to  any  of  those
  1988.  
  1989. networks.   Our  procedure for choosing one gateway to use as the
  1990.  
  1991. destination gateway might be as follows.  Try the  first  gateway
  1992.  
  1993. on the list.  If a DNA message is received, try the second, etc.,
  1994.  
  1995. etc.   Once  a source gateway begins sending traffic for a mobile
  1996.  
  1997. Host to  a  particular  destination  gateway,  it  should  always
  1998.  
  1999. continue to use that gateway, until it receives a DNA message, in
  2000.  
  2001. which  case  it should try the next one.  You will note that this
  2002.  
  2003. procedure is very similar to that used for non-mobile Hosts.   In
  2004.  
  2005. fact,   it  might  be  entirely  identical.   The  only  possible
  2006.  
  2007. difference is that we might want to be  much  more  reluctant  to
  2008.  
  2009. switch  from  one  destination  gateway to another in the case of
  2010.  
  2011. mobile Hosts than in the  case  of  non-mobile  Hosts,  since  we
  2012.  
  2013. expect that a mobile Host will not generally be reachable through
  2014.  
  2015. all of the potential destination gateways at every time.
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.                              - 35 -
  2029.  
  2030. -------
  2031.